package com.kingmed.kmss.common.redis.dao;

import java.util.concurrent.TimeUnit;

public interface IRedisIdGeneratorDao {

	/**
	 * 生成序号
	 * 
	 * @param key 生成序号的键值
	 * @param timeout 失效的时间量
	 * @param unit 失效的时间单位
	 * @return
	 */
	public long generateId(String key, long timeout, TimeUnit unit);
	
	/**
	 * 生成序号: 基于 RedissonClient。 在分布式环境下，计数器效果更好
	 * 
	 * @param key 生成序号的键值
	 * @param timeout 失效的时间量
	 * @param unit 失效的时间单位
	 * @return
	 */
	public long generateIdWithinDistributedEnv(String key, long timeout, TimeUnit unit);
}
